{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "3470f100",
   "metadata": {},
   "source": [
    "# 病毒行为建模与传播模拟系统架构\n",
    "\n",
    "**作者**: 钟智强  \n",
    "**联系方式**: ctkqiang@dingtalk.com  \n",
    "\n",
    "---\n",
    "\n",
    "## 项目背景\n",
    "\n",
    "面对高度突发性与高变异率的病毒病原体（以类丧尸病毒为代表的设定场景），现有传染病建模体系在以下方面存在显著不足：\n",
    "\n",
    "- 缺乏对病毒基因变异过程的微观模拟能力；\n",
    "- 无法有效描述传播过程中的社会行为响应与网络效应；\n",
    "- 对地理异构性与空间传播路径的建模仍不充分；\n",
    "- 科普传播与教育演示工具缺乏交互性与可解释性。\n",
    "\n",
    "本项目旨在构建一个集成**生物信息建模、社会行为模拟、地理传播可视化与公众交互展示**的高可扩展研究与教育平台。\n",
    "\n",
    "---\n",
    "\n",
    "## 系统目标定位\n",
    "\n",
    "| 维度     | 核心内容说明                                                      |\n",
    "|----------|-------------------------------------------------------------------|\n",
    "| 科研功能 | - 基因组解析与结构域识别<br>- 模拟多种突变策略与感染力指标变化<br>- 传播路径演化建模 |\n",
    "| 教育应用 | - 构建可交互的传播演示模型<br>- 面向教学的病毒变异与社会响应场景化仿真       |\n",
    "| 工程实现 | - 高内聚模块化架构设计<br>- 支持 API 标准化与服务部署<br>- 面向可重复实验场景设计 |\n",
    "| 社会价值 | - 增强公众防疫意识<br>- 支持数据可视化传播机制<br>- 辅助决策系统与策略演示      |\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e588783d",
   "metadata": {},
   "source": [
    "安装基因分析所需的Python依赖包"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "id": "b5229f06",
   "metadata": {
    "vscode": {
     "languageId": "plaintext"
    }
   },
   "outputs": [],
   "source": [
    "!pip3 install -q biopython pandas matplotlib seaborn plotly\n",
    "\n",
    "import os\n",
    "import re\n",
    "import random\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "from collections import Counter\n",
    "from Bio.Seq import Seq\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c28cf04d",
   "metadata": {},
   "source": [
    "### 从NCBI下载狂犬病毒的FASTA格式基因组数据\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "id": "0eeb7a24",
   "metadata": {
    "vscode": {
     "languageId": "plaintext"
    }
   },
   "outputs": [],
   "source": [
    "# https://www.ncbi.nlm.nih.gov/nuccore/NC_001542.1?report=fasta\n",
    "\n",
    "raw_sequence = \"\"\"\n",
    "ACGCTTAACAACCAGATCAAAGAAAAAACAGACAGCGTCAATGGCAGAGCAAAAATGTAACACCTCTACA\n",
    "ATGGATGCCGACAAGATTGTATTCAAAGTCAATAATCAGGTGGTCTCTTTGAAGCCTGAGATTATCGTGG\n",
    "ATCAATATGAGTACAAGTACCCTGCCATCAAAGATTTGAAAAAGCCCTGTATAACTCTAGGAAAGGCTCC\n",
    "CGATTTAAATAAAGCATACAAGTCAGTTTTATCATGCATGAGCGCCGCCAAACTTGATCCTGACGATGTA\n",
    "TGTTCCTATTTGGCGGCGGCAATGCAGTTTTTTGAGGGGACATGTCCGGAAGACTGGACCAGCTATGGAA\n",
    "TCGTGATTGCACGAAAAGGAGATAAGATCACCCCAGGTTCTCTGGTGGAGATAAAACGTACTGATGTAGA\n",
    "AGGGAATTGGGCTCTGACAGGAGGCATGGAACTGACAAGAGACCCCACTGTCCCTGAGCATGCGTCCTTA\n",
    "GTCGGTCTTCTCTTGAGTCTGTATAGGTTGAGCAAAATATCCGGGCAAAGCACTGGTAACTATAAGACAA\n",
    "ACATTGCAGACAGGATAGAGCAGATTTTTGAGACAGCCCCTTTTGTTAAAATCGTGGAACACCATACTCT\n",
    "AATGACAACTCACAAAATGTGTGCTAATTGGAGTACTATACCAAACTTCAGATTTTTGGCCGGAACCTAT\n",
    "GACATGTTTTTCTCCCGGATTGAGCATCTATATTCAGCAATCAGAGTGGGCACAGTTGTCACTGCTTATG\n",
    "AAGACTGTTCAGGACTGGTGTCATTTACTGGGTTCATAAAACAAATCAATCTCACCGCTAGAGAGGCAAT\n",
    "ACTATATTTCTTCCACAAGAACTTTGAGGAAGAGATAAGAAGAATGTTTGAGCCAGGGCAGGAGACAGCT\n",
    "GTTCCTCACTCTTATTTCATCCACTTCCGTTCACTAGGCTTGAGTGGGAAATCTCCTTATTCATCAAATG\n",
    "CTGTTGGTCACGTGTTCAATCTCATTCACTTTGTAGGATGCTATATGGGTCAAGTCAGATCCCTAAATGC\n",
    "AACGGTTATTGCTGCATGTGCTCCTCATGAAATGTCTGTTCTAGGGGGCTATCTGGGAGAGGAATTCTTC\n",
    "GGGAAAGGGACATTTGAAAGAAGATTCTTCAGAGATGAGAAAGAACTTCAAGAATACGAGGCGGCTGAAC\n",
    "TGACAAAGACTGACGTAGCACTGGCAGATGATGGAACTGTCAACTCTGACGACGAGGACTACTTCTCAGG\n",
    "TGAAACCAGAAGTCCGGAAGCTGTTTATACTCGAATCATAATGAATGGAGGTCGACTGAAGAGATCGCAC\n",
    "ATACGGAGATATGTCTCAGTCAGTTCCAATCATCAAGCTCGTCCAAACTCATTCGCCGAGTTTCTAAACA\n",
    "AGACATATTCGAGTGACTCATAAGAAGTTGAATAACAAAATGCCGGAAATCTACGGATTGTGTATATCCA\n",
    "TCATGAAAAAAACTAACACCCCTCCTTTCGAACCACCCCAAACATGAGCAAGATCTTTGTCAATCCTAGT\n",
    "GCTATTAGAGCCGGTCTGGCCGATCTTGAGATGGCTGAAGAAACTGTTGATCTGATCAATAGAAATATCG\n",
    "AAGACAATCAGGCTCATCTCCAAGGGGAACCCATAGAAGTGGACAATCTCCCTGAGGATATGGGGCGACT\n",
    "TCACCTGGATGATGGAAAATCGCCCAACCCTGGTGAGATGGCCAAGGTGGGAGAAGGCAAGTATCGAGAG\n",
    "GACTTTCAGATGGATGAAGGAGAGGATCCTAGCCTCCTGTTCCAGTCATACCTGGACAATGTTGGAGTCC\n",
    "AAATAGTCAGACAAATAAGGTCAGGAGAGAGATTTCTCAAGATATGGTCACAGACCGTAGAAGAGATTAT\n",
    "ATCCTATGTCGCGGTCAACTTTCCCAACCCTCCAGGAAAGTCTTCAGAGGATAAATCAACCCAGACTACC\n",
    "GGCCGAGAGCTCAAGAAGGAGACAACACCCACTCCTTCTCAGAGAGAAAGCCAATCCTCGAAAGCCAGGA\n",
    "TGGCGGCTCAAACTGCTTCTGGCCCTCCAGCCCTTGAATGGTCGGCCACCAATGAAGAGGATGATCTATC\n",
    "AGTGGAGGCTGAGATCGCTCACCAGATTGCAGAAAGTTTCTCCAAAAAATATAAGTTTCCCTCTCGATCC\n",
    "TCAGGGATACTCTTGTATAATTTTGAGCAATTGAAAATGAACCTTGATGATATAGTTAAAGAGGCAAAAA\n",
    "ATGTACCAGGTGTGACCCGTTTAGCCCGTGACGGGTCCAAACTCCCCCTAAGATGTGTACTGGGATGGGT\n",
    "CGCCTTGGCCAACTCTAAGAAATTCCAGTTGTTAGTCGAATCCAACAAGCTGAGTAAAATCATGCAAGAT\n",
    "GACTTGAATCGCTATACATCTTGCTAACCGAACCTCTCCACTCAGTCCCTCTAGACAATAAAGTCCGAGA\n",
    "TGTCCTAAAGTCAACATGAAAAAAACAGGCAACACCACTGATAAAATGAACTTTCTACGTAAGATAGTGA\n",
    "AAAATTGCAGGGACGAGGACACTCAAAAACCCTCTCCCGTGTCAGCCCCTCTGGATGACGATGACTTGTG\n",
    "GCTTCCACCCCCTGAATACGTCCCGCTAAAAGAACTTACAAGCAAGAAGAACAGGAGGAACTTTTGTATC\n",
    "AACGGAGGGGTTAAAGTGTGTAGCCCGAATGGTTACTCGTTCGGGATCCTGCGGCACATTCTGAGATCAT\n",
    "TCGACGAGATATATTCTGGGAATCATAGGATGGTCGGGTTAGTCAAAGTAGTTATTGGACTGGCTTTGTC\n",
    "AGGAGCTCCAGTCCCTGAGGGCATGAACTGGGTATACAAGTTGAGGAGAACCCTTATCTTCCAGTGGGCT\n",
    "GATTCCAGGGGCCCTCTTGAAGGGGAGGAGTTGGAATACTCTCAGGAGATCACTTGGGATGATAATACTG\n",
    "AGTTCGTCGGATTGCAAATAAGAGTGAGTGCAAAACAGTGTCATATCCGGGGCAGAATCTGGTGTATCAA\n",
    "CATGAACTCGAGAGCAGGTCAACTATGGTCTGACATGTCTCTTCAGACACAAAGGTCCGAAGAGGACAAA\n",
    "GATTCCTCTCTGCTTCTAGAATAATCAGATTATATCCCGCAAATTTATCACTTGTTTACCTCTGGAGGAG\n",
    "AGAACATATGGGCTCAACTCCAACCCTTGGGGGCAATATAACAAAAAAACATGTTATGGTGCCATTAAAC\n",
    "CGCTGCATTTCATCAAAGTCAAGTTAATTACCTTTACATTTTGATCCTCTTGGATGTGAAAAAAACTATT\n",
    "AACATCCCTCAAAAGACTCAAGGAAAGATGGTTCCTCAGGCTCTCCTGTTTGTACCCCTTCTGGTTTTTC\n",
    "CATTGTGTTTTGGGAAATTCCCTATTTACACGATACCAGACAAGCTTGGTCCCTGGAGCCCGATTGACAT\n",
    "ACATCACCTCAGCTGCCCAAACAATTTGGTAGTGGAGGACGAAGGATGCACCAACCTGTCAGGGTTCTCC\n",
    "TACATGGAACTTAAAGTTGGATACATCTCAGCCATAAAAATGAACGGGTTCACTTGCACAGGCGTTGTGA\n",
    "CGGAGGCTGAAACCTACACTAACTTCGTTGGTTATGTCACAACCACGTTCAAAAGAAAGCATTTCCGCCC\n",
    "AACACCAGATGCATGTAGAGCCGCGTACAACTGGAAGATGGCCGGTGACCCCAGATATGAAGAGTCTCTA\n",
    "CACAATCCGTACCCTGACTACCACTGGCTTCGAACTGTAAAAACCACCAAGGAGTCTCTCGTTATCATAT\n",
    "CTCCAAGTGTGGCAGATTTGGACCCATATGACAGATCCCTTCACTCGAGGGTCTTCCCTGGCGGGAATTG\n",
    "CTCAGGAGTAGCGGTGTCTTCTACCTACTGCTCCACTAACCACGATTACACCATTTGGATGCCCGAGAAT\n",
    "CCGAGACTAGGGATGTCTTGTGACATTTTTACCAATAGTAGAGGGAAGAGAGCATCCAAAGGGAGTGAGA\n",
    "CTTGCGGCTTTGTAGATGAAAGAGGCCTATATAAGTCTTTAAAAGGAGCATGCAAACTCAAGTTATGTGG\n",
    "AGTTCTAGGACTTAGACTTATGGATGGAACATGGGTCGCGATGCAAACATCAAATGAAACCAAATGGTGC\n",
    "CCTCCCGGTCAGTTGGTGAATTTGCACGACTTTCGCTCAGACGAAATTGAGCACCTTGTTGTAGAGGAGT\n",
    "TGGTCAAGAAGAGAGAGGAGTGTCTGGATGCACTAGAGTCCATCATGACCACCAAGTCAGTGAGTTTCAG\n",
    "ACGTCTCAGTCATTTAAGAAAACTTGTCCCTGGGTTTGGAAAAGCATATACCATATTCAACAAGACCTTG\n",
    "ATGGAAGCCGATGCTCACTACAAGTCAGTCAGAACTTGGAATGAGATCATCCCTTCAAAAGGGTGTTTAA\n",
    "GAGTTGGGGGGAGGTGTCATCCTCATGTAAACGGGGTATTTTTCAATGGTATAATATTAGGACCTGACGG\n",
    "CAATGTCTTAATCCCAGAGATGCAATCATCCCTCCTCCAGCAACATATGGAGTTGTTGGTATCCTCGGTT\n",
    "ATCCCCCTTATGCACCCCCTGGCAGACCCGTCTACCGTTTTCAAGAACGGTGACGAGGCTGAGGATTTTG\n",
    "TTGAAGTTCACCTTCCCGATGTGCACGAACGGATCTCAGGAGTTGACTTGGGTCTCCCGAACTGGGGGAA\n",
    "GTATGTATTACTGAGTGCAGGGGCCCTGACTGCCTTGATGTTGATAATTTTCCTGATGACATGCTGGAGA\n",
    "AGAGTCAATCGATCGGAACCTACACAACACAATCTCAGAGGGACAGGGAGGGAGGTGTCAGTCACTCCCC\n",
    "AAAGCGGGAAGATCATATCTTCATGGGAATCATACAAGAGCGGGGGTGAGACCGGACTGTGAGAGCTGGC\n",
    "CGTCCTTTCAACGATCCAAGTCCTGAAGATCACCTCCCCTTGGGGGGTTCTTTTTGAAAAAAAACCTGGG\n",
    "TTCAATAGTCCTCCTTGAACTCCATGCAACTGGGTAGATTCAAGAGTCATGAGATTTTCATTAATCCTCT\n",
    "CAGTTGATCAAGCAAGATCATGTAGATTCTCATAATAGGGGAGATCTTCTAGCAGTTTCAGTGACTAACG\n",
    "GTGCTTTCATTCTCCAGGAACTGACACCAACAGTTGTAGACAAATCACGGGGTGTCTCAGGTGATTCTGC\n",
    "GCTTGGGCACAGACAAAGGTCATGGTGTGTTCCATGATAGCGGACTCAGGATGAGTTAATTGAGAGAGGC\n",
    "AATCTTCCTCCCGTGAAGGACACAAGCAGTAGCTCACAATCATCTCGTGTTTCAGCAAAGTGTGCATAAT\n",
    "TATAAAGTGCTGGGTCATCTAAGCTTTTCAGTCGAGAAAAAAACAGTAGATCAGAAGAACAACTGGCAAC\n",
    "ACTTCTCATCCTGAGACCTACTTCAAGATGCTCGATCCTGGAGAGGTCTATGATGACCCTATTGACCCAA\n",
    "TCGAGTTAGAGGCTGAACCCAGAGGAACCCCCACTGTCCCCAACATCTTGAGGAACTCTGACTACAATCT\n",
    "CAACTCTCCTTTGATAGAAGATCCTGCTAGACTAATGTTAGAATGGTTAAAAACAGGGAATAGACCTTAT\n",
    "CGGATGACTCTAACAGACAATTGCTCCAGGTCTTTCAGAGTTTTGAAAGATTATTTCAAGAAGGTAGATT\n",
    "TGGGTTCCCTCAAGGTGGGCGGAATGGCTGCACAGTCAATGATTTCTCTCTGGTTATATGGTGCCCACTC\n",
    "TGAATCCAACAGGAGCCGGAGATGTATAACAGACTTGGCCCATTTCTATTCCAAGTCGTCCCCCATAGAG\n",
    "AAGCTGTTAAATCTCACGCTAGGAAATAGAGGGCTGAGAATCCCCCCAGAGGGAGTGTTAAGTTGCCTTG\n",
    "AGAGGGTTGATTATGATAATGCATTTGGAAGGTATCTTGCCAACACGTATTCCTCTTACTTGTTCTTCCA\n",
    "TGTAATCACCTTATACATGAACGCCCTAGACTGGGATGAAGAAAAGACCATCCTAGCATTATGGAAAGAT\n",
    "TTAACCTCAGTGGACATCGGGAAGGACTTGGTAAAGTTCAAAGACCAAATATGGGGACTGCTGATCGTGA\n",
    "CAAAGGACTTTGTTTACTCCCAAAGTTCCAATTGTCTTTTTGACAGAAACTACACACTTATGCTAAAAGA\n",
    "TCTTTTCTTGTCTCGCTTCAACTCCTTAATGGTCTTACTTTCTCCCCCAGAGCCCCGATACTCAGATGAC\n",
    "TTGATATCTCAGCTATGCCAGCTGTACATTGCTGGGGATCAAGTCTTGTCTATGTGTGGAAACTCCGGCT\n",
    "ATGAAGTCATCAAAATATTGGAGCCATATGTCGTGAATAGTTTAGTCCAGAGAGCAGAAAAGTTTAGGCC\n",
    "TCTCATTCATTCCTTGGGAGACTTTCCTGTATTTATAAAAGACAAGGTAAGTCAACTCGAAGAGACGTTC\n",
    "GGTTCCTGTGCAAGAAGGTTCTTTAGGGCTCTGGATCAATTCGACAACATACATGACTTGGTTTTTGTGT\n",
    "ATGGCTGTTACAGGCATTGGGGGCACCCATATATAGATTATCGAAAGGGTCTGTCAAAACTATATGATCA\n",
    "GGTTCACATTAAAAAAGTGATAGATAAGTCCTACCAGGAGTGCTTAGCAAGCGACCTAGCCAGGAGGATC\n",
    "CTTAGATGGGGTTTTGATAAGTACTCCAAGTGGTATCTGGATTCACGATTCCTAGCCCGAGACCACCCCT\n",
    "TGACTCCTTATATCAAAACCCAAACATGGCCACCCAAACATATTGTAGATTTGGTGGGGGATACATGGCA\n",
    "CAAGCTCCCGATCACGCAAATCTTTGAGATTCCTGAATCAATGGATCCATCAGAAATATTGGATGACAAA\n",
    "TCACATTCTTTCACCAGAACGAGACTAGCTTCTTGGCTGTCAGAAAACCGAGGGGGGCCTGTTCCTAGCG\n",
    "AAAAAGTTATTATCACGGCCCTGTCTAAGCCGCCTGTCAATCCCCGAGAGTTTCTGAAGTCTATAGACCT\n",
    "CGGAGGATTGCCAGATGAAGACTTGATAATTGGCCTCAAGCCAAAGGAACGGGAATTGAAGATTGAAGGT\n",
    "CGATTCTTTGCTCTAATGTCATGGAATCTAAGATTGTATTTTGTCATCACTGAAAAACTCTTGGCCAACT\n",
    "ACATCTTGCCACTTTTTGACGCGCTGACTATGACAGACAACCTGAACAAGGTGTTTAAAAAGCTGATCGA\n",
    "CAGGGTCACCGGGCAAGGGCTTCTGGACTATTCAAGGGTCACATATGCATTTCACCTGGACTATGAAAAG\n",
    "TGGAACAACCATCAAAGATTAGAGTCAACAGAGGATGTATTTTCTGTCCTAGATCAAGTGTTTGGATTGA\n",
    "AGAGAGTGTTTTCTAGAACACACGAGTTTTTTCAGAAGTCCTGGATCTATTATTCAGACAGATCAGACCT\n",
    "CATCGGGTTACGGGAGGATCAAATATACTGCTTAGATGCGTCCAACGGCCCAACCTGTTGGAATGGCCAG\n",
    "GATGGCGGGCTAGAAGGCTTACGGCAGAAGGGCTGGAGTCTAGTCAGCTTATTGATGATAGATAGAGAAT\n",
    "CTCAAATCAGGAACACAAGAACCAAAGTACTAGCTCAAGGAGACAACCAGGTTTTATGTCCGACATATAT\n",
    "GTTGTCGCCAGGGCTATCTCAAGAGGGGCTCCTCTATGAATTGGAGAGCATATCAAGGAATGCATTTTCG\n",
    "ATATACAGAGCCGTCGAGGAAGGGGCATCTAAACTAGGGCTGATCATCAAGAAAGAAGAGACCATGTGTA\n",
    "GTTATGACTTCCTCATCTATGGAAAAACCCCTTTGTTTAGAGGTAACATATTGGTGCCTGAGTCCAAAAG\n",
    "ATGGGCCAGAGTCTCTTGCGTCTCTAATGACCAAATAGTCAACCTCGCCAATATAATGTCGACAGTGTCC\n",
    "ACCAACGCGCTAACAGTGGCACAACACTCTCAATCTTTGATCAAACCGATGAGGGATTTTCTGCTCATGT\n",
    "CAGTACAGGCAGTCTTTCACTACCTGCTATTTAGCCCAATCTTAAAGGGAAGAGTTTACAAGATTCTGAG\n",
    "CGCTGAAGGGGAGAGCTTTCTCCTAGCCATGTCAAGGATAATCTATCTAGATCCTTCTTTGGGAGGGGTA\n",
    "TCTGGAATGTCCCTCGGAAGATTCCATATACGACAGTTCTCAGACCCTGTCTCTGAAGGGTTATCCTTCT\n",
    "GGAGAGAGATCTGGTTAAGCTCCCACGAGTCCTGGATTCACGCGTTGTGTCAAGAGGCTGGAAACCCAGA\n",
    "TCTTGGAGAGAGAACACTCGAGAGCTTCACTCGCCTTCTAGAAGATCCTACCACCTTAAATATCAGAGGA\n",
    "GGGGCCAGTCCTACCATTCTACTCAAGGATGCAATCAGAAAGGCTTTATATGACGAGGTGGACAAGGTGG\n",
    "AGAACTCAGAGTTTCGAGAGGCAATCCTGTTGTCCAAGACCCATAGAGATAATTTTATACTCTTCTTAAC\n",
    "ATCTGTTGAGCCTCTGTTTCCTCGATTTCTCAGTGAGCTATTCAGTTCGTCTTTTTTGGGAATCCCCGAG\n",
    "TCAATCATTGGACTGATACAAAACTCCCGAACGATAAGAAGGCAGTTTAGAAAGAGTCTCTCAAAAACTT\n",
    "TAGAAGAATCCTTCTACAACTCAGAGATCCACGGGATTAGTCGGATGACCCAGACACCTCAGAGGGTTGG\n",
    "GGGGGTGTGGCCTTGCTCTTCAGAGAGGGCAGATCTACTTAGGGAGATCTCTTGGGGAAGAAAAGTGGTA\n",
    "GGCACGACAGTTCCTCACCCTTCTGAGATGTTGGGGTTACTTCCCAAGTCCTCTATTTCTTGCACTTGTG\n",
    "GAGCAACAGGAGGAGGCAATCCTAGAGTTTCTGTATCAGTACTCCCGTCTTTTGATCAGTCATTTTTTTG\n",
    "CACGGGGCCCCTAAAGGGGTACTTGGGCTCGTCCACCTCTATGTCGACCCAGCTATTCCATGCATGGGAA\n",
    "AAAGTCACTAATGTTCATGTGGTGAAGAGAGCTCTATCGTTAAAAGAATCTATAAACTGGTTCATTACTA\n",
    "GAGATTCCAACTTGGCTCAAACTCTAATTAGGAACATTGTGTCTCTGACAGGCCCTGATTTCCCTCTAGA\n",
    "GGAGGCCCCTGTTTTCAAAAGGACGGGGTCAGCCTTGCATAGGTTCAAGTCTGCCAGATACAGCGAAGGA\n",
    "GGGTATTCTTCTGTATGCCCGAACCTCCTCTCTCATATTTCTGTTAGTACAGACACCATGTCTGATTTGA\n",
    "CCCAAGACGGGAAGAACTACGATTTCATGTTCCAGCCATTGATGCTTTATGCACAGACATGGACATCAGA\n",
    "GCTGGTACAGAGAGACACAAGGCTAAGAGACTCTACGTTTCATTGGCACCTCCAATGCAACAGGTGTGTG\n",
    "AGACCCATTGACGACGTGACCCTGGAGACCTCTCAGATCTTCGAGTTTCCGGATGTGTCGAAAAGAATAT\n",
    "CCAGAATGGTTTCTGGGGCTGTGCCTCACTTCCAGAGGCTTCCCGATATCCGTCTGAGACCAGGAGATTT\n",
    "TGAATCTCTAAGCGGTAGAGAAAAGTCTCACCATATCGGATCAGCTCAGGGGCTCTTATACTCAATCTTA\n",
    "GTGGCAATTCACGACTCAGGATACAATGATGGAACCATCTTCCCTGTCAACATATACGGCAAGGTTTCCC\n",
    "CTAGAGACTATTTGAGAGGGCTCGCAAGGGGAGTATTGATAGGATCCTCGATTTGCTTCTTGACGAGAAT\n",
    "GACAAATATCAATATTAATAGACCTCTTGAATTGATCTCAGGGGTAATCTCATATATTCTCCTGAGGCTA\n",
    "GATAACCATCCCTCCTTGTACATAATGCTCAGAGAACCGTCTTTTAGAGAAGAGATATTTTCTATCCCTC\n",
    "AGAAAATCCCCGCCGCTTATCCAACCACTATGAAAGAAGGCAACAGATCAATCTTGTGTTATCTCCAACA\n",
    "TGTGCTACGCTATGAGCGAGAGGTAATCACGGCGTCTCCAGAGAATGACTGGCTATGGATCTTTTCAGAC\n",
    "TTTAGAAGTGCCAAAATGACGTACCTAACCCTCATTACTTACCAGTCTCATCTTCTACTCCAGAGGGTTG\n",
    "AGAGAAACCTATCTAAGAGTATGAGAGATAACCTGCGACAATTGAGTTCCTTGATGAGGCAGGTGCTGGG\n",
    "CGGGCACGGAGAAGATACCTTAGAGTCAGACGACAACATTCAACGACTACTAAAAGACTCTTTACGAAGG\n",
    "ACAAGATGGGTGGATCAAGAGGTGCGCCATGCAGCTAGAACCATGACTGGAGATTACAGCCCCAACAAGA\n",
    "AGGTGTCCCGTAAGGTAGGATGTTCAGAATGGGTCTGCTCTGCTCAACAGGTTGCAGTCTCTACCTCAGC\n",
    "AAACCCGGCCCCTGTCTCGGAGCTTGACATAAGGGCCCTCTCTAAGAGGTTCCAGAACCCTTTGATCTCG\n",
    "GGCTTGAGAGTGGTTCAGTGGGCAACCGGTGCTCATTATAAGCTTAAGCCTATTCTAGATGATCTCAATG\n",
    "TTTTCCCATCTCTCTGCCTTGTAGTTGGGGACGGGTCAGGGGGGATATCAAGGGCAGTCCTCAACATGTT\n",
    "TCCAGATGCCAAGCTTGTGTTCAACAGTCTTTTAGAGGTGAATGACCTGATGGCTTCCGGAACACATCCA\n",
    "CTGCCTCCTTCAGCAATCATGAGGGGAGGAAATGATATCGTCTCCAGAGTGATAGATTTTGACTCAATCT\n",
    "GGGAAAAACCGTCCGACTTGAGAAACTTGGCTACCTGGAAATACTTCCAGTCAGTCCAAAAGCAGGTCAA\n",
    "CATGTCCTATGACCTCATTATTTGCGATGCAGAAGTTACTGACATTGCATCTATCAACCGGATAACCCTG\n",
    "TTAATGTCCGATTTTGCATTGTCTATAGATGGACCACTCTATTTGGTCTTCAAAACTTATGGGACTATGC\n",
    "TAGTAAATCCAAACTACAAGGCTATTCAACACCTGTCAAGAGCGTTCCCCTCGGTCACAGGGTTTATCAC\n",
    "CCAAGTAACTTCGTCTTTTTCATCTGAGCTCTACCTTCGATTCTCCAAACGAGGGAAGTTTTTCAGAGAT\n",
    "GCTGAGTACTTGACCTCTTCCACCCTTCGAGAAATGAGCCTTGTGTTATTCAATTGTAGCAGCCCCAAGA\n",
    "GTGAGATGCAGAGAGCTCGTTCCTTGAACTATCAGGATCTTGTGAGAGGATTTCCTGAAGAAATCATATC\n",
    "AAATCCTTACAATGAGATGATCATAACTCTGATTGACAGTGATGTAGAATCTTTTCTAGTCCACAAGATG\n",
    "GTGGATGATCTTGAGTTACAGAGGGGAACTCTGTCTAAAGTGGCTATCATTATAGCCATCATGATAGTTT\n",
    "TCTCCAACAGAGTCTTCAACGTTTCCAAACCCCTAACTGACCCCTTGTTCTATCCACCGTCTGATCCCAA\n",
    "AATCCTGAGGCACTTCAACATATGTTGCAGTACTATGATGTATCTATCTACTGCTTTAGGTGACGTCCCT\n",
    "AGCTTCGCAAGACTTCACGACCTGTATAACAGACCTATAACTTATTACTTCAGAAAGCAAGTCATTCTAG\n",
    "GGAACGTTTATCTATCTTGGAGTTGGTCCAACGACACCTCAGTGTTCAAAAGGGTAGCCTGTAATTCTAG\n",
    "CCTGAGTCTGTCATCTCACTGGATCAGGTTGATTTACAAGATAGTGAAGACTACCAGACTCGTTGGCAGC\n",
    "ATCAAGGATCTATCCGGAGAAGTGGAAAGACACCTTCATAGGTACAACAGGTGGATCACCCTAGAGAATA\n",
    "TCAGATCTAGATCATCCCTACTAGACTACAGTTGCCTGTGCATCGGATACTCCTGGAAGCCTGCCCATGC\n",
    "TAAGACTCTTGTGTGATGTATTTTGAAAAAAACAAGATCTTAAATCTGAACCTCTAGTTGTTTGATTGTT\n",
    "TTTCTCATTTTTGTTGTTTATTTGTTAAGCGT\n",
    "\"\"\""
   ]
  },
  {
   "cell_type": "markdown",
   "id": "7b29736c-a958-4776-821a-9a1c4e3e23b2",
   "metadata": {},
   "source": [
    "### 提取记录ID和DNA序列"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "id": "80ac6db7-6517-48d3-971d-60d9308b2d3a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>碱基</th>\n",
       "      <th>数量</th>\n",
       "      <th>占比 (%)</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>A（腺嘌呤）</td>\n",
       "      <td>3421</td>\n",
       "      <td>28.26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>T（胸腺嘧啶）</td>\n",
       "      <td>3130</td>\n",
       "      <td>25.86</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>G（鸟嘌呤）</td>\n",
       "      <td>2736</td>\n",
       "      <td>22.60</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>C（胞嘧啶）</td>\n",
       "      <td>2645</td>\n",
       "      <td>21.85</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>GC 含量</td>\n",
       "      <td>5381</td>\n",
       "      <td>44.46</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        碱基    数量  占比 (%)\n",
       "0   A（腺嘌呤）  3421   28.26\n",
       "1  T（胸腺嘧啶）  3130   25.86\n",
       "2   G（鸟嘌呤）  2736   22.60\n",
       "3   C（胞嘧啶）  2645   21.85\n",
       "4    GC 含量  5381   44.46"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dna_seq = Seq(raw_sequence.upper())\n",
    "\n",
    "# 统计碱基数量\n",
    "base_counts = {\n",
    "    'A（腺嘌呤）': dna_seq.count('A'),\n",
    "    'T（胸腺嘧啶）': dna_seq.count('T'),\n",
    "    'G（鸟嘌呤）': dna_seq.count('G'),\n",
    "    'C（胞嘧啶）': dna_seq.count('C')\n",
    "}\n",
    "\n",
    "total_length = len(dna_seq)\n",
    "gc_content = (base_counts['G（鸟嘌呤）'] + base_counts['C（胞嘧啶）']) / total_length\n",
    "\n",
    "\n",
    "df = pd.DataFrame({\n",
    "    '碱基': list(base_counts.keys()),\n",
    "    '数量': list(base_counts.values()),\n",
    "    '占比 (%)': [round(100 * count / total_length, 2) for count in base_counts.values()]\n",
    "})\n",
    "\n",
    "\n",
    "df.loc[len(df.index)] = ['GC 含量', base_counts['G（鸟嘌呤）'] + base_counts['C（胞嘧啶）'], round(gc_content * 100, 2)]\n",
    "\n",
    "display(df)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "eb9ee1ed-df3b-4e61-9a49-e77bd1edb4ab",
   "metadata": {},
   "source": [
    "#### 绘制条形图"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "id": "c5e8a6b2-2d38-40b2-8a2e-d3a2be522019",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAHqCAYAAACZcdjsAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAdaVJREFUeJzt3Xd4FUXj9vE7gRRCChhChxB6LyIQQaQqvUgREUVQAZHeVEAemoJK72CBACLSg6CCUqUYioCAdAgt1NBSSM+8f/Dm/DikwkGC5Pu5rr3k7MzuzibrybnPzszaGWOMAAAAAMAG9undAAAAAAD/fQQLAAAAADYjWAAAAACwGcECAAAAgM0IFgAAAABsRrAAAAAAYDOCBQA8Y44cOaI9e/Y80WN+/fXXeuGFF7R79+7Hsr9Tp07pypUraa4fHByss2fPKqUZ1ENDQ7V3715du3btcTTxP2ffvn2Kiop6qG2MMerXr5/mzp2bat1t27bppZde0tq1ax+1iQD+4zKndwMAAI/Xhx9+qL179yosLCzN25w/f15//PFHmuu/9tprypo1q+X1pUuX9NdffykkJOSh2pqcYsWK6eWXX5aPj48qVaqk3r17y87OLtn6ffv21aJFixQaGipXV9ck6/z111+qU6eOJk2apL59+ya7r2vXrunOnTsqVqyYJCl//vxq0KCBvvvuO0nS33//rXLlysne3l5Lly7Vl19+qR9++EElSpRI07kFBgZa9pVW3t7e6tKlS6r15s2bp4IFC6pevXpW6zds2KCGDRsqf/78mjp1qpo3b56m4968eVPr16/XlClTFBERoR49eiRb98aNG9qxY8dDBUIAzxaCBQBAu3fv1ttvv53m+oGBgVbBIim3b9/W+PHjkyyrW7eu6tatm+L2MTExun79uvr27avg4GCNHj3aqnzBggU6c+aMJOngwYOSpDFjxsjR0THJ/Z09e1aStG7dOt2+fVuS9NJLL6l+/fpW9Tp37qyNGzfqs88+08CBA3X79m2Fh4dLuvfBvUuXLho7dqwGDRqkc+fOad++fYqLi0vxXO537tw5ff7552muL0k1atRINVhERERowIAB8vb21v79+63K6tevr6VLl6p3795q2bKlxo8fr/79+6d6XE9PT23atEm+vr7q16+fqlevrkqVKj1U2wFkHAQLAM+kLVu2qE6dOonW29vb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LPtu2rSpGjZsqK1bt1rGL9w/CPrAgQOSpFKlSiXad7NmzbRr165U25Cc7t27S5IWL15s6bYXFxengQMHysnJSTdu3FDLli3122+/KWfOnOrbt6969+6t6dOnq2bNmpo9e7ZcXFy0d+9eXb9+XdWrV9fmzZu1ceNGderUSYsXL7Y63htvvGEJonv37tWSJUuszvPB0JFg586d2rlzp9W6bNmyESyADIBgASDDS5jR58iRI0mWOzs7y8/PTzVq1HjoLlFLlixReHi4OnfubJk9qWPHjho2bJgWLVqkcePGyc3NzeZzuHHjhmbOnKnff/9dI0eOVIMGDXTmzBkdP35cb7/9tsaNG6dcuXKlup9x48bp9u3b6tChg77//nvL+ri4OHl4eMjb2/uh2jVixAiFhobK3d1dmTNn1rFjx3Tjxg1L3//kukI1b95cR44csfxOKlSokKbj2doVatKkSRo0aJBq1aolf39/qxBVtWpVLVy4UH369NHUqVN1/fp1Pffcc1YPI0wIFmXKlEmybTdu3NDx48cVExPz0G3LmTOncubMKV9fX8u6sLAwXbp0SVFRUVbT8c6bN08bN27UtGnTJEkBAQEqXbp0svv+8ccfVbNmTX344YeWdQ0bNlTDhg0l3RsjdH+wGDFihEaMGGG1D39/f7322mv65ptv9P777z/0+QH47yNYAMjwEgYUJzzbICm+vr7q37//Q3eJmjdvnqR7z0ZIkD9/fr3yyitav369Fi1apA8++MC2E9C9Oxc///yz7ty5o2+//VaTJk1SUFCQatWqpZkzZ6Zp1qJ//vlH48aNk5OTU6KuOocOHVJ4ePhDjTFZuHChZVrccuXKafv27WrTpo1WrFhhVa9QoUI6d+6c5bW3t7deffVVhYeHW6aFTaobVVJs7QrVq1cvZc+eXR07dlR0dLQ6d+6s6OhoS3mDBg3k7++vatWqycfHR5988om6deumkydPqlixYvrzzz9VqlSpJMchJBw7f/78CgoKStP53G/o0KFWH/wlycPDQ3PmzNHt27cVGRmp3r17q0OHDmrXrp3i4uI0Z84cRUREKG/evMqbN69y586t3Llzy8vLS15eXsqePbtcXV3VsGFD+fn5qXv37qnO1gUAySFYAMjw4uPjJd2bxSglD9sl6vjx49q5c6eKFi2aaIald999V+vXr9ecOXMeOlgkfNt/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R7AA8FhdvXpVZcuW1fTp0+Xj46NGjRqpdu3a8vf3lyT5+/urcuXKSd6tuHPnjsaOHasGDRqocOHC+uijj7Rp0ybduXNHkjRt2jT17t1btWvXVtmyZTV58mTNnz9fd+/efZKnCAAAkkCwAPBY5cmTR8uXL5ebm5skaffu3dq6das8PDwkSb/++qtGjhypSZMmJdr2ww8/1AcffCBJunv3rmbMmKEsWbLI0dFRxhjt3r1bNWvWtNT39fVVbGys/v777ydwZgAAICU8eRvAv6ZYsWI6deqUKleurF69ekmS5syZI0nasmVLstv5+fmpS5cusre317Rp05QlSxZdv35dkZGRypcvn6Weo6OjPD09FRQU9K+eBwAASB13LAD8a5YtW6b169fLxcVFhw4dSvN29evX1759+9S3b19t375dsbGxioyMlCQ5OTlZ1XVyclJERMRjbTcAAHh43LEA8K+pWLGiJCksLEydO3fWmTNnZGdnl+p2+fPnV/78+fXll1+qQoUKWrhwoZo2bSpJloCRICoqSlmyZHnsbQcAAA+HOxYAHqurV69aBmonKFmypM6ePavg4OAUt928ebNOnDhhta5EiRLau3evPD095eTkpMuXL1vKoqOjFRwcbNU9CgAApA+CBYDH6uzZs2rdurWuXLliWbd37165uLjI09MzxW2/+uorTZkyxfI6Li5OBw4cUMGCBWVvb6+qVatq27ZtlvIdO3bI0dHRcmcEAACkH4IFgMeqSpUqqlKlirp06aITJ05o/fr1+vjjj9WnTx/Z26f8ltOzZ0/NnTtXy5cv1+nTp9WjRw/dvHlTHTt2lCR1795dkydP1qZNm3T06FENGjRInTt3pisUAABPAcZYAHis7O3ttWrVKvXs2VNVq1bVc889p169eumjjz5KddsmTZpo9uzZGjJkiK5cuaJq1appy5YtypMnjySpffv2CgwMVPv27RUeHq62bdtq/Pjx//YpAQCANLAzxpj0bsTTKCQkRB4eHrpz547c3d3TrR1f7E+5TzqeHp9UypHeTQAAIE34fPHfkp6fMR7mMzFdoQAAAADYjGABAAAAwGYECwAAAAA2Y/A28B9E39j/DsbeAAAyCu5YAAAAALAZwQIAAACAzdI9WJw8eVINGjSQm5ubihcvrkWLFlnKzpw5ozp16sjZ2VklSpTQ2rVrrbb97bffVKpU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Qs2aNbPUr1Onjt5880298sor8vHxUWBgoAoVKiRJKleunEqVKqXAwEDduHFDjRs31tixY+Xm5pZOZ/d04e/If0t6/i15mM/EDz1dRnh4uH788Uc1btxYHh4eql69uubMmaM7d+5o9uzZat++vTp16vSfDhUAAODJenAa4rCwMPn5+enOnTv6+eef9c4776hVq1b666+/JEnfffedoqOj9f777ye5r5MnTyoiIkLTpk3Td999pz/++ENvv/32kz4tIEN56DEWbdu21ZAhQyTde+Kpv7+/vvzyS/Xq1UtxcXEaMmSIRo8e/dgbCgAAnk1JTUOcOXNmZc+eXbNmzZK9vb3Kly+vjRs36uuvv9bo0aM1ZMgQbdiwIcmxNJkyZdLNmzfl6OhoGf/p5+enypUr69KlS8lOaQzANqnesVi1apX8/f118OBBy5NMY2NjdejQIW3fvl3r1q3T+fPnVatWLeXKlUv+/v66evXqv95wAADw35fcNMS5c+dW0aJFrZ5FUrJkSV28eFG//vqrgoODVbNmTWXLlk3ly5eXJJUvX15ffPGFJMnFxcXqOVslS5aUJF26dOlJnRqQ4aR6x2L69Ok6ceKErly5ori4OB07dkwjR45U5syZ9eKLL6pBgwaaO3euihUrpmvXrumVV15RgwYNFBAQIGdn5ydxDgAA0Wf6v4SxN/8nuWmIq1atqs8//1wxMTGWaWKPHj2qwoULq3Xr1lZTE1+8eFE1a9bUL7/8orJly+rUqVMqX768/v77b8sA7v379ytTpkwM6Ab+Ranesdi4caMuXLigu3fvavv27Ro0aJAKFy4sY4zKly+v3r17W/4nzZkzp9avX69r165pwIAB/3rjAQDAf1fCNMTjxo2zTEMcHBysW7duqX379oqLi1P37t116tQpffPNN1q3bp26desmV1dXFSpUyLLkz59fkpQ/f35ly5ZNRYsWValSpdS9e3cdPXpUAQEB6tatmz788EN5eHik81kDz65Ug8WBAwf0zTffKCoqSi1btlTz5s21adMm9erVS/7+/nr77be1cOFCxcbGSrp363L69OnavHmzZR0AAMCDUpqGOHv27Nq0aZNOnz6tMmXKaOzYsVq4cKHKli2bpn2vXr1a2bNnV/Xq1dWkSRPVrVtX48aN+zdPB8jwUu0KFRMTo48++khhYWG6ceOGLl68qIYNG+qF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",
      "text/plain": [
       "<Figure size 800x500 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.rcParams['font.family'] = 'Arial Unicode MS'\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "plt.figure(figsize=(8, 5))\n",
    "plt.bar(df['碱基'], df['数量'], color='skyblue')\n",
    "\n",
    "plt.title('DNA 序列碱基数量统计', fontsize=16)\n",
    "plt.xlabel('碱基类型', fontsize=12)\n",
    "plt.ylabel('数量', fontsize=12)\n",
    "\n",
    "for idx, value in enumerate(df['数量']):\n",
    "    plt.text(idx, value + 5, str(value), ha='center', va='bottom', fontsize=10)\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "f84db1c7-ac32-4af5-99c9-392f7e0b46b4",
   "metadata": {},
   "source": [
    "## 模拟突变 & 找热点位点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "id": "28001e28-907e-44a9-9b77-bb0594f4c325",
   "metadata": {},
   "outputs": [],
   "source": [
    "def mutate(seq, rate=0.01):\n",
    "    bases = [\"A\", \"T\", \"G\", \"C\"]\n",
    "    mutated = \"\"\n",
    "    \n",
    "    for base in seq:\n",
    "        if random.random() < rate:\n",
    "            mutated += random.choice([b for b in bases if b != base])\n",
    "        else:\n",
    "            mutated += base\n",
    "    return mutated"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8e9cfbed-6b65-4212-9704-0498a48acbb8",
   "metadata": {},
   "source": [
    "### 热点"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "id": "dcab912f-e32e-44ad-a311-321c82b3e89c",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'\\nACGCTTAACAACCAGATCAAAGAAAAAACAGACAGCGTCAATGGCAGAG'"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "mutated_seq = mutate(str(dna_seq), rate=0.02)\n",
    "\n",
    "display(mutated_seq[0:50])"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "62bc4d53-4315-44de-be21-68e22c783162",
   "metadata": {},
   "source": [
    "## 找所有ATG启动密码子出现的位置 + 分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "id": "62ffb712-d547-4083-a427-05285258af89",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>起始密码子位置</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>41</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>55</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>72</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>149</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   起始密码子位置\n",
       "0       41\n",
       "1       55\n",
       "2       72\n",
       "3       76\n",
       "4      149"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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5s2bp6efflqtWrVyWK9fv37q3Lmzli5dqo4dO7rc/ubNm52esXRm6dKlVhh2Ji4uTteuXdOjjz6qcePGWfP//ve/O9wjOq0GDRq49fySnN4S6XZz586Vn5+fBg4c6NBlNzQ0VNOmTdOMGTMydcY7R44cGjNmjPr166cpU6bozTffdFjm+PHjTruI327v3r3aunWrPvvsM4eyzp076+9//7sV+vLly6eFCxfaLfPQQw9p0KBBevrpp1WzZk3t3r1bnTt3djpYmTPe3t4aOnSounbtqv3799tdM37mzBklJCTYLd+mTRutW7fObsA1m1WrVlnXbw8YMEAbNmywuuKntWHDBgUFBWV5KHWH7brxmjVrqlGjRukuO3r0aBUrVkzt2rWz5l26dElXr151+iNS7ty59e6771qPXY1hEBcXJy8vL8XHx2fqbHiJEiV08+ZN7d+/X19//XW6t29LK2fOnHafwbSGDRvm9vMDAO4OoRsA7pFt27ZJunWNalxcnDZv3qzJkyerYcOGbt0SzDaa+erVq63QvWvXLkVFRbkcibt169bKly+fZsyY4TJ0R0VF6ddff9XixYvd2g/bNcvOfPfdd+rfv78CAgL0ww8/2HUjbtmypVvbzwo3btzQ559/rhYtWjgEbulWiGncuLE+//xzTZgwweV1us707dtXJ06c0FtvvaU1a9aoU6dOCgkJUVxcnNauXav58+crV65cev75511uIyYmRhs3btSAAQM0efJknThxQlFRUYqNjVWxYsXsBvaySU1NdbjdVXx8vPr166cuXbqoU6dOat++vRVobx/x+/br0NOKi4uzW97ZaNvpadCggaZPn66BAwdKkkNvDJu5c+emOwr/3QgLC1NYWJjD/Bs3blg9D65evao9e/ZoyJAhLrezZMkSTZ8+XatWrbJ7rQ8cOCBJqlChQoZ1cRW6ly5dql69esnLy0sjRoxIdxs3b960ftxq1qyZjhw5op49e6pWrVqqUqWK3Y8izm5xdvuPXrcbN27cHd82DwCQOYRuALhHnn76aevvwMBAVaxYUWPHjtWrr77qMsTeztbN3GbevHnKkSOHdYuu2+XOnVsvvfSSZs+erUOHDtl13bYZO3as6tevb93ySbp1H+mjR4/Kx8dHFy5cyLCrsm3U5JUrV6p169ZasGCBQ9hNTExUeHi4JOn3339X9erV3drn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5O/vb13OYIzRzz//bFdes2ZN3bx5U3v27LkHe4TssH//fl24cEHPP/+8Na9Lly6KiIigPSHTqlWrpi+++ELXr1/X2bNntWbNGgUGBtKW4JaNGzeqYcOG2rx5s918T7Yfjt0fTK7aUocOHTRp0iS7ebbjcenujrm3bdumkiVLKiQkxK789ktG7wd/+tB96tQpFSpUSD4+Pta84sWLKykpSX/88Uc21gzZrXDhwmratKn1+Pr165o7d64aNWqkU6dOqUSJEnbLFy9eXDExMZKUbvmpU6ckya68ePHikmStjwfPoUOHNGPGDE2ePNlu/t20pQsXLigpKcmu3MfHRwULFqQtPcCOHj2qwoULa9OmTapWrZpCQ0M1ePBg3bhxg/aETFu0aJE2b96svHnzqlixYkpJSdGIESNoS3BL//79NXnyZLtwLXn2fxvH7g8mV22pfPnyql69uvX44MGDioyMtE5g3M0xd0bt9H6SM7srcLeSkpIcbqBue3zt2rXsqBLuQykpKerSpYv++OMPvf322+ratavTdmNrM67a1bVr16zBjtKW0+YebMYYvfzyyxo1apSKFCliV5ZeW8mo3Flbun19PHgSEhKUkJCgf/zjH5o6daokqU+fPkpJSaE9IdO6d++u0NBQhYeHKzY2VuPHj9f58+dpS7grnm4/HLv/NZ07d06tW7fWE088oeeee07S3R1zZ9RO7yd/+tDt5+dnvSE2169flyS7bsX460pNTVWvXr20cuVKfffddypWrJjLdmNrM+mV+/n5Sbr1JWFbnjb3YJs9e7aSk5PVr18/hzI/Pz9duHDBbp47bSlfvnx2bcnV+njw5MyZU1evXtXUqVOtUfAnTJigzp07q2fPng4jRNOe4MpPP/2kLVu26NSpUypWrJgk6cqVK+rSpYuaN2/OdxPumCf/txljOHb/C7p48aKaNm2qpKQkhYeHW5d43s0xd0bH8/eTP3338hIlSuiPP/5QcnKyNS8mJkZ+fn4qWLBgNtYM94OUlBR17dpV//3vf/X111+rcePGkm61m9uvv46JibG6qKRXblsmbbmtG8vtXVzwYFi8eLF2796tAgUKKH/+/Bo/frw2b96s/PnzKygo6I7bUsGCBeXr62tXfuPGDV24cIG29AArWrSoJKlChQrWvIoVKyopKUlFixalPcFtJ0+eVKFChazALd26xjs6OlpFihShLeGO3c1xUkbth2P3v55z586pfv36iouL0w8//GD3PXI3x9wZtdP7yZ8+dFetWlU5c+bU1q1brXmbNm3Sk08+af2Cgr+ugQMHavny5fr222+tbizSrQE9Nm/ebA3YYYzRli1bVLNmTat806ZN1vLR0dGKiYlRzZo1Vbx4cQUHB9uVb9q0SaVKlbI78MGD44svvtDBgwcVFRWlqKgo9e/fX9WrV1dUVJRq1qypXbt2WQOCSLfag6u2lJiYqN27d6tmzZry9vbWk08+aVe+ZcsW+fj4qGrVqvds/3BvVa1aVbly5dKuXbuseQcPHlRAQIDq1KlDe4LbypQpowsXLtjd0/bQoUPy8fHR008/TVvCHfPk/zaO3f9akpKS1KJFC127dk2bN29WmTJl7Mrv5pj7qaee0qlTp3T8+HG7cls7va9k17DpWalfv37miSeeML/++qv54YcfTP78+c2SJUuyu1rIZtu2bTOSzCeffGLOnz9vTRcvXjRxcXGmUKFCZvjw4ebEiRNm+PDhpkiRIubKlSvGGGM2b95sfH19TXh4uDl69Khp3ry5ad68ubXtDz/80ISEhJiff/7Z7Ny504SEhJiPPvoou3YV99jIkSPt7tNdqVIl616mn332mcmdO7c5fvy4MebW7Sz8/PzMp59+ao4fP27CwsJMlSpVrHuZLl682OTPn9+sX7/eHDhwwDzxxBPmlVdeya5dwz3Sr18/U7ZsWbN161azY8cOU758eTNkyBDaEzKtTp06pmnTpmb//v1m48aNJjQ01PTv35+2hEzTbffp9mT74dj9wZa2LY0fP974+vqan376ye54PKuOuZ955hnTvHlzc+TIEfP1119bz3W/eSBC95UrV0y3bt1Mnjx5TFBQkPnnP/+Z3VXCfeDtt982khym0qVLG2NuhfKqVasaHx8f8/jjj5sdO3bYrT9nzhwTHBxs/Pz8zPPPP2/OnTtnlSUnJ5uBAwea/Pnzm/z585vBgwdb/2jw4Esbuo0x5rfffjN16tQxvr6+pkKFCub777+3W37lypWmfPnyxtfX19SvX98cOXLErnzs2LGmSJEiJk+ePKZnz57cB/cv4Pr162bQoEHmoYceMgEBAaZv374mKSnJGEN7QuacP3/edOrUyTz00EOmRIkSZvDgwebq1avGGNoSMidtUDLGs+2HY/cHW9q2VL16dafH42nvzX03x9xnzpwxLVu2NH5+fqZUqVJmwYIF92o3M8XLGG6IBwAAAACAJ/zpr+kGAAAAAOB+RegGAAAAAMBDCN0AAAAAAHgIoRsAAAAAAA8hdAMAAAAA4CGEbgAAAAAAPITQDQDAfezatWtKSUlxWZ6amnoPawMAADKL0A0AwD2yfPlyVa1aVT179tSZM2fsyrp27aoZM2Y4rFO3bl1FRka63ObAgQM1c+ZM6/HOnTsVEhLicvlFixbJy8srw+m1117L/A4CAAAHhG4AALLAiRMn5OfnZzc5U7JkSYWGhmrq1KmSpPHjx6tq1ar67rvvNHbsWFWtWtVuOnDggPr372/9nVZqaqq++uorlSpVKlN1ff7555WcnKxPP/1UL730kvV3586dlZycrLFjx97RawAAABx5GWNMdlcCAIA/O2OMEhMTVaNGDS1YsECVK1dWkyZNtH37dqfLP/bYY4qKilJsbKz++OMPDRs2TNWqVdNLL71kt1zHjh01aNAg1axZU2XLlrUL88uXL1e/fv10+vRp5cyZU9KtM93t2rXT8ePHnT7vokWL1K1btwz3Z8CAAfrkk0/c3HsAAOAKoRsAgCySnJysggUL6vTp08qbN69q1qypwYMHq27dupKkiIgIzZw5Uz/88IO8vLyUI0cOa92uXbsqPDzcCs82165d05o1a9SkSROH56tbt64ee+wxlSxZUsOGDXNZr8jISDVo0ECStG/fPodrxMPDw7Vx40b961//suZ5e3vr4YcfVt68eTP9OgAAgP+TM+NFAACAOzZs2KDAwEDt3LlTBQsWlCS7M9f58+dXmTJlNH/+fHl5eal3795260+cOFF9+vSxm1e7dm2nz/XVV19p8+bNaty4sYYOHarevXsrMTHR7nru/v37a/jw4QoODrbmPfrooy7rX61aNbvH33//vZo1a5b+TgMAgHQRugEAyCITJkxQfHy8unXrpscee0yStGbNGjVq1EiSdPDgQbVp00Y7duxQnTp1HNYfOHCgBg0aZDfP2cjlMTExeuONN1SoUCFrXnh4uObMmaOdO3dKkm7evKnZs2dr9OjRduuuW7fOYXvTp09Xjhw51K9fP7v5t4dwAACQeYRuAACywKpVq7R27Vq9+OKLat26tb788ktJ0sKFC/Xss89Kkpo1a6bz58/r559/1iuvvOKwjU8//VT9+/e3m1e9enWH5bZv36569eqpaNGi1rzevXtrxIgR2rlzp6pXr66dO3eqVKlSCgoKslu3f//+WrFihfbu3asuXbooV65cVtmKFStkjFFwcLCOHDly5y8GAACwELoBAMgCLVq00KhRo7Rv3z6HslatWqlRo0bavXu3rl+/rrNnz1rdvKtUqaL9+/dLkj7//HOnYbxp06aSpJEjR2rUqFFq27at2rZta3dW3MfHR23atNHy5ctVvXp1rV27Vs2bN3fYVlJSknVv71KlSqlLly525bGxsdqwYcOdvQgAAMABoRsAgCzg5eWl0qVLO4RuLy8veXt7K2fOnPLy8lKJEiXUtGlTeXvfumvnnj17tGvXLo0YMUIVK1bUxIkT1bx5c/Xs2VOtWrVSr169VLhwYQ0dOjTDW4PVrl1bn3/+uYwxWrhwoRYuXJju8rGxsZo/f77dvOTkZAUEBGT+BQAAAE4RugEAyEKpqalKTk6WdOt6bH9/f0VERCg6OlrlypVTfHy8NZL4ypUr9dZbb8nf31/169fXnDlzNGfOHCUlJWnz5s3WSOaTJ09WWFiYrly5okWLFqlixYpOnzs0NFRHjhzR6tWrlTt3btWqVSvdupYqVcrhOu5Tp07p22+/vctXAQAA2BC6AQDIQsuWLdOyZcvUokULHTt2TB07dtTDDz+sF198UVOmTFFycrL27dunw4cPq2fPnvriiy+s67Ztt+xq1qyZevbsqY4dO1rb7devn2JiYlSiRAmXz/3kk0/q559/1vPPP6+333473XpWq1bNIXBLyvD2YwAAIHO4TzcAAFnkxx9/1C+//KKmTZtq6tSp2rJli3777TdJUocOHRQbG6v33ntPL7/8sry9vXXw4EG1bt1aq1atcmv7tmu6bQYNGqT8+fNr9erV2r59u8v1goKCdObMGUm3QnVMTIxbz/fss89q9erVbi0LAACc40w3AABZpEGDBlbXcUl65513rL/HjRun4sWLy8/PT5UqVVLVqlWVM2fOLOnKvWXLFqX3G7qXl5fd419++UWVK1fOcLs5cuS467oBAPBXx5luAAAAAAA8xDu7KwAAAAAAwIOK0A0AAAAAgIcQugEAAAAA8BBCNwAAAAAAHkLoBgAAAADAQwjdAAAAAAB4CKEbAAAAAAAPIXQDAAAAAOAhhG4AAAAAADyE0A0AAAAAgIcQugEAAAAA8JD/BztIOObS9Q8WAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "atg_positions = [m.start() for m in re.finditer('ATG', str(dna_seq))]\n",
    "df_atg = pd.DataFrame({'起始密码子位置': atg_positions})\n",
    "\n",
    "display(df_atg.head())\n",
    "\n",
    "plt.rcParams['font.family'] = 'Arial Unicode MS'  # 适配中文字体\n",
    "plt.rcParams['axes.unicode_minus'] = False\n",
    "\n",
    "plt.figure(figsize=(10, 2))\n",
    "plt.eventplot(atg_positions, orientation='horizontal', colors='red')\n",
    "plt.title(\"DNA 序列中 ATG 起始密码子的分布位置\")\n",
    "plt.xlabel(\"碱基位置\")\n",
    "plt.yticks([])\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bcfeee98-b167-4876-a518-ef5b59061d10",
   "metadata": {},
   "source": [
    "### 神经感染特征模拟\n",
    "\n",
    "我们先检查是否含有 G 蛋白基因"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "id": "69cb6864-67c6-421a-8819-b2e48210aafe",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "⚠️ 发现高密度 G 区域，可能含病毒包膜蛋白 G 蛋白段落\n",
      "The history saving thread hit an unexpected error (OperationalError('attempt to write a readonly database')).History will not be written to the database.\n"
     ]
    }
   ],
   "source": [
    "if 'GGG' in dna_seq:\n",
    "    print(\"⚠️ 发现高密度 G 区域，可能含病毒包膜蛋白 G 蛋白段落\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "id": "2e9a240f-3848-4788-b046-f15caf0357f8",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAy81JREFUeJzsnXd4FVX6x7/33twkJBAIJQQwEpoCSlEQRCyIFI29LZZdgV1dGzZWXXFVpCi2n2LBRV3burqyurZVpBgJSpcmSA+9JUAgpBCSm9z5/XEzc6ecmTkzd+aW5P08T57cmTlz2pzynvec8x6PIAgCCIIgCIIgGhHeWEeAIAiCIAgi2pAARBAEQRBEo4MEIIIgCIIgGh0kABEEQRAE0eggAYggCIIgiEYHCUAEQRAEQTQ6SAAiCIIgCKLRQQIQQRAEQRCNDhKACIIgCIJodJAARBCNiNzcXIwZM0a6LigogMfjQUFBgem7Q4YMwZAhQ6TrXbt2wePx4IMPPnA8ngRBEG5DAhBBNADWr1+PG264AR07dkRqaio6dOiA4cOH4/XXX4911Fzl0KFDeOyxx9CrVy80bdoUqamp6Nq1K8aOHYtFixYx39m+fTvuvPNOdO7cGampqcjIyMDgwYPx6quvoqqqiivcgoICXHfddcjOzkZycjKysrJw5ZVX4osvvnAyeRpmz56Np59+2tUwRDZu3Iinn34au3btikp4BBFtPHQWGEEkNkuWLMHFF1+MU089FaNHj0Z2djb27t2LZcuWYfv27SgsLJTc5ubmYsiQIZLWJhgMoqamBsnJyfB6jcdDovZH1BYJgoDq6mr4/X74fD43kmbIihUrcPnll6O8vBw33XQTzjnnHKSkpGDnzp346quvsHHjRixcuBAXXnih9M53332HG2+8ESkpKbjttttw5plnoqamBosWLcJ///tfjBkzBm+//bZhuBMnTsTkyZPRrVs33HzzzejYsSNKSkowe/ZsFBQU4OOPP8Ytt9ziSprHjRuHGTNmIBrN9ueff44bb7wRCxYsUGj+CKKhkBTrCBAEERnPPPMMmjdvjl9++QUtWrRQPDt06JDhu16vF6mpqbbC9Xg8tt+NlGPHjuGaa65BUlIS1q5di+7duyueT506FZ9++imaNGki3du5cyduuukmdOzYET/++CPatWsnPbv33ntRWFiI7777zjDczz//HJMnT8YNN9yATz75BH6/X3r2yCOPYO7cuQgEAg6lkiAIVxEIgkhoTj/9dGHIkCFcbjt27CiMHj1aul6wYIEAQFiwYIHC3VtvvSV07txZSE1NFc455xzhp59+Ei666CLhoosuktzs3LlTACC8//770r3Ro0cL6enpwr59+4Srr75aSE9PF1q3bi385S9/EWpraxVhHDlyRPj9738vNGvWTGjevLlw2223CWvXrtX4yeLZZ58VAAiffvopV7oFQRDuuusuAYCwePFi7nfUdO/eXWjZsqVQVlbG5b64uFj44x//KGRlZQkpKSlC7969hQ8++EDhRszHF198Ucr35ORkoX///sKKFSskd6NHjxYAaP5E6urqhFdeeUXo2bOnkJKSImRlZQl//vOfhaNHjyrC69ixo3D55ZcLP//8s3DOOecIKSkpQqdOnYQPP/xQcvP+++8zw1KXE4JIZEgDRBAJTseOHbF06VL89ttvOPPMMyP2791338Wdd96J8847Dw8++CB27NiBq666Ci1btkROTo7p+3V1dRg5ciQGDhyIl156CT/88AP+7//+D126dMHdd98NIDT1duWVV2LFihW4++670b17d3z99dcYPXo0Vxz/97//oUmTJrjuuuu40/W///0PnTt3xnnnncf9jpxt27Zh8+bN+OMf/4hmzZqZuq+qqsKQIUNQWFiIcePGoVOnTvjss88wZswYlJaW4oEHHlC4/+STT1BeXo4777wTHo8HL7zwAq677jrs2LEDfr8fd955Jw4cOID58+fjo48+0oR355134oMPPsDYsWNx//33Y+fOnXjjjTewZs0aLF68WKGtKiwsxA033IA//elPGD16NN577z2MGTMG/fr1wxlnnIELL7wQ999/P1577TU8/vjj6NGjBwBI/wmiQRBrCYwgiMiYN2+e4PP5BJ/PJwwaNEh49NFHhblz5wo1NTUat2YaoJqaGiErK0vo27evUF1dLbl7++23BQBcGiAAwuTJkxXhnnXWWUK/fv2k6//+978CAGH69OnSvbq6OmHo0KFcGqDMzEyhb9++mvtlZWXC4cOHpb+KigpBEATh+PHjAgDh6quvNvTXiK+//loAILzyyitc7qdPny4AEP71r39J92pqaoRBgwYJTZs2lbRIYj62atVKoa0Rw/vf//4n3bv33nsFVrP9888/CwCEjz/+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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "window_size = 100\n",
    "gc_content_list = [\n",
    "    (seq.count(\"G\") + seq.count(\"C\")) / window_size\n",
    "    for i in range(0, len(dna_seq) - window_size)\n",
    "    if (seq := dna_seq[i:i + window_size])\n",
    "]\n",
    "\n",
    "plt.plot(gc_content_list)\n",
    "plt.title(\"Sliding GC Content\")\n",
    "plt.xlabel(\"Position\")\n",
    "plt.ylabel(\"GC Ratio\")\n",
    "plt.grid(True)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cd83ee71-025a-45c4-a552-27a7a3556247",
   "metadata": {},
   "source": [
    "### 病毒行为模拟\n",
    "\n",
    "- 假设一个细胞拥有 DNA repair 能力 80%\n",
    "- 病毒突变率 = 1% per 1000bp\n",
    "- 模拟感染 10,000 细胞，输出潜在突变爆发分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "id": "8ff57ccc-0e89-4e8c-afd8-261fea4fd65f",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'突变爆发细胞数: 104 / 10000'"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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9jfrCyUAwP3HnW4AcLCQkBC1aNEiw2UHDx7U/Pnz7cqmTJmiKVOm6OzZsypbtqzq168vKfUu4tq1azV06FB99tlnatiwoSRp1apVmjBhgvW89+3P0iYlJalbt266fv26PDw89NRTTyk8PDzds8N3kpCQoHz58unKlSs6duyY9QzzxYsX5eTkpKlTp+ratWuKjo5WZGSkwsLCVK1aNWv7pUuXKiYmRtu2bdMXX3yhY8eOqXnz5nbd452dnbVu3Tq7Aagyki9fPoWGhiokJERFixZV0aJFtXz5cr3++uvWOl5eXkpKSrILf4899pgWLFhgN+jbtm3b9J///Ecff/yx3ejORYoU0fjx4zVu3Dg99dRT6T4/b29vu+66dzOQWlr5tm3b7PZfr149DRs2TFOnTlX//v114cKFDEfLvlVMTIxCQkLsRlW/fPmyJGW47bJly+Tv768pU6aoe/fuevXVV++4/+y6cOGCChcunK11Y2Nj1b9/fyUnJ2vChAmqVq2annnmmXSj0WfXmTNnMh1HICeioqK0efNmfffdd/Lx8dE///lPjR8/Xn369NGVK1dUqFChdNu0atXK6pZ/u4x6j1SvXl2TJ0/We++9J0nWoxYDBw5U69at1b59ezVo0EAzZsyQJP3xxx967rnn7Lrf5+Sd8F5eXjp48GC21wcA5C5CNwA42O3hUkodeOm7777TF198oWeeeUa7d++265qakUqVKumtt97S4cOHNXr0aK1evVrh4eGaPHmyZs+enengaIGBgfrhhx/k5OSkrVu3qmPHjurUqZPda6yyEhMTk+kd06JFi6pLly66evWqvLy8NGzYMNWqVUvPPPOMtc7QoUPVp0+fbAeyO5k2bZoSExMVGBio5s2ba/DgwdqwYYM8PT2t0chnzJihlStX6vvvv880sP766696//331aZNGzVt2lRhYWGKiYmRs7OzwsLC1KlTJ61bt04dO3bU119/rTZt2khKfUWZl5eXXVfrK1euSPr/A6mlGTlyZLaehb7dqFGjtHHjRoWFhSkiIiLDV6fdavHixXrkkUfUunVrqywqKkrOzs7WHe9bPfHEE/rXv/6lYcOGSVKmjwnklM1my/YAbAULFpS/v788PT3Vrl07lS9fXlLq3fKcat++vQ4cOCBPT0/dvHnTelXZrd2vf//990y/ALnV/Pnz5e3tLT8/P0mp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1aqZDRs22K2/du1aU7VqVVOgQAHTrFkzc+zYMbvlU6ZMMSVKlDDu7u6mb9++vBcWDnHz5k0zbNgwU7RoUePh4WEGDBhg4uPjjTG0YeQdUVFRpnv37qZo0aKmTJkyZuTIkSY2NtYYQzvGw+/W0G2MY9vsw54HbcY8JC8vAwAAAADgTybPP9MNAAAAAMDDitANAAAAAICDELoBAAAAAHAQQjcAAAAAAA5C6AYAAAAAwEEI3QAAAAAAOAihGwAAAAAAByF0AwCQy06dOnVP21+9elWjRo1SSkrKHdfbtGmTIiIirPmUlBT5+flpwoQJ93R8AACQewjdAADkoqioKD3xxBO6evWqJMlms2U4zZ8/X5I0atQou/IrV65ox44d+v777+XkdOd/pseOHau9e/da805OTlq4cKG++OILff/995lud+rUqUzrZbPZ7PYJAADuDaEbAIBctHjxYj377LPy9PS0yi5evKivvvpKTZo0UVxcnLp37263zdixY5WYmGjNBwQE6Ny5c3r88cftpnXr1lnrhIeH69ixY2rTpo0kycvLS87OzqpQoYLOnDmjzp07y9nZWc7Ozjpy5Ei6ehYrVkxxcXHppsqVK+f2JQEA4C/N+UFXAACAPwtjjObPn6+AgABt375dZcqUkSQVKFBA+fPnl5OTk1xdXdPdwT58+LCWL18uSfr555/1008/6fjx4/Ly8rLWadSokW7evGnNf/nll+rWrZvWr1+v0qVLKykpSceOHVPFihXt9l22bFkZY9LVNS4uTnPmzElXnnaHHgAA5A5CNwAAueTbb79V0aJFVb9+fVWvXl0ffPBBtrY7e/asduzYIUnWXfDixYtby2NiYhQbGys3NzdJUmxsrObNm6dvv/1WAwcO1ODBgyVJVapUyXD/NpvNbt7Ly0tz587NcN2ZM2eqUqVK2ao3AADIGqEbAIBc8v7776t8+fLq2LGjihQpoi5dukiSkpOTlZKSImOMkpKS0t15bteunf7xj3/ok08+0bhx4zR69GhrELX8+fNLkl3o3rp1q86ePauGDRvK3d1dL730kkaMGJHhne5bTZw4UZMmTcr2+QwZMiTDu+EAACD7CN0AAOSS2rVrKzIyUps3b9auXbusO8yFCxe21kkL0U2aNLHK0sK4JA0aNEhOTk7puqDHxsbKw8NDktS+fXuFh4erV69eateundzc3HT9+vVM71CnhecJEybovffek5R6V3zOnDlq27ZtpueT1UBuAAAga/xrCgBALvn000+VmJio999/Xz4+Pjp9+rSk1O7ha9asUbNmzWSMUY8ePaxtUlJSNHXqVCuMS9K0adPUpUsX6065lDoYW1qXcycnJ+3bt08XL15Unz59tH//fiUnJ6tYsWI6duyYHn30UW3evFktW7a060bu5OQkZ2dnJSQk6MyZMypVqpSSkpLSTZLk7OxM6AYAIBfwrykAALlk8ODBCg4O1oYNG1S2bFlt3Lgxy20SEhL0/vvv23U53717t0qWLKlu3bpp/Pjx+u2335SSkiJvb29JUmRkpPr166crV67I29tb7733nvLlyydJdv+12WwZBuewsDAZY1S/fn25ubmlm4YPH54blwMAAIjQDQBArvH09FSvXr00ZswYRUZGauDAgVluc/XqVbvu52mefvpp9ezZU0FBQWrevLneffddXblyRZJUsGBB1axZUy+//LLWrVunNm3aqHr16rp06ZKqVaumEydOyM/PT4GBgXrzzTfT7fv8+fNq1KiRjDHppq5du6p06dL3eikAAMD/IXQDAJBLZs6cqVmzZik2Nlbdu3fXv/71L0l3Hkjt+PHjmY46LkmBgYGKjY3VxIkT9eSTTyoiIkLx8fF6/fXXlZCQoJkzZ2rChAlq1qyZihUrpiNHjqhy5cratGmTWrRooY8++ijdPjt06GCNln67M2fO6NFHH73HKwEAANIQugEAyAXx8fHq27evSpYsqdmzZ6t9+/Z69dVXJaUOpNa1a1dt375d+fPn19KlSyWl3nE+cOCAnn76acXGxkpKfb1Xvnz5dPnyZbvnrM+ePavr16/L29tbP/74o7Zv36527dpp5syZun79urp27SpJcnNzU6NGjfTkk09q0qRJMsake2XY7fbv36/Dhw/rwIED+uWXX1SvXj0HXikAAP5aCN0AAOQCV1dXNWzYULt379auXbs0cOBAFSpUSFLqQGq3duFOG0htx44deuGFFxQcHCwPDw/5+fnJ09NTfn5+evfdd5U/f35rqlSpkgYNGiSbzaYePXro3//+t5555hldu3ZNnTp1Us2aNSVJJUuWVEBAgIoUKaLVq1dr+PDhql+//h3rvnfvXj399NNq3LixXn/9de50AwCQi2zm9peFAgCA+yYlJeWeRwlPu5udnJxsDaQGAAAeDoRuAAAAAAAchO7lAAAAAAA4CKEbAAAAAAAHIXQDAAAAAOAghG4AAAAAAByE0A0AAAAAgIMQugEAAAAAcBBCNwAAAAAADkLoBgAAAADAQQjdAAAAAAA4CKEbAAAAAAAH+X/KN4WMNombewAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 1000x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "cells = 10000\n",
    "mutation_rate = 0.01\n",
    "infected = np.random.binomial(n=1, p=mutation_rate, size=cells)\n",
    "\n",
    "display(f\"突变爆发细胞数: {infected.sum()} / {cells}\")\n",
    "\n",
    "plt.figure(figsize=(10, 2))\n",
    "plt.eventplot(np.where(infected == 1)[0], orientation='horizontal', colors='red')\n",
    "plt.title(\"突变细胞在总体中的分布（红点为突变）\")\n",
    "plt.xlabel(\"细胞编号\")\n",
    "plt.yticks([])\n",
    "\n",
    "plt.tight_layout()\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "36ccffed-aa85-4cec-af9e-fbc5b273d973",
   "metadata": {},
   "source": [
    "## DNA碱基组成分析与可视化图谱\n",
    "> 本节内容展示了从原始 DNA 序列中提取 A、T、C、G 四种碱基的出现频次，并通过柱状图可视化其组成比例，有助于理解序列偏好性与可能的功能区域。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "id": "38b4bdc6-efc1-4d54-95f4-37e7da5871cf",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABJ4AAADCCAYAAAAIEAh1AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARKxJREFUeJzt/XmcFNWh//+/qruruqq6e7png1m4gIoKRIPiEhUzIOACBsmVRCDgBrh7Y0QQg7iGqNEkLjEBFRfELVeNoAE3ULy5apb7+cTPvde4JYKRYRtmpqf3vb5/8GOuI4j6u+mYm/t+Ph79eExXnapz5lT1MPOmzjmG53keIiIiIiIiIiIif2G+L7oBIiIiIiIiIiLy90nBk4iIiIiIiIiIVIWCJxERERERERERqQoFTyIiIiIiIiIiUhUKnkREREREREREpCoUPImIiIiIiIiISFUoeBIRERERERERkapQ8CQiIiIiIiIiIlWh4ElERETkb5DneV90E75w6gMREZH/+RQ8iYjI/yhjxoxh8ODBey1z1llnfWqZvyVr165lypQpDBo0CNu2GTBgACeffDJr1679opv2VzNhwgRisRi5XO4Tyxx66KEcc8wxwM77YMyYMX+l1v2X9evXYxgG69evB+Daa6/FMIy/eD3f+973uOWWW3rfV6uevfnTn/7EgAED2LFjB7Czzw3D+MTXE0880Vvuv3tt8vk83/nOd3j44Yf3Wm7jxo17bMtBBx3Up9yaNWsYOXIktm0zePBgbrzxxt1CrXfffZeTTjqJUChEfX09s2fPJh6P9ymTTCY577zzaGhoIBwOc8IJJ/CHP/xhr238S127tWvXMmLECAqFwn/7XCIiIn9NCp5EROTvzlVXXcVTTz31RTfjM7n88ss5/vjj8TyPm266ieeff54f/ehHeJ7H8ccfz1133fVFN/GvYtasWfT09LB69eo97v/3f/933njjDebMmQPAz372M372s5/9NZu4R3PmzOH111//i5/36quvJpPJVL2evTnrrLP4zne+Q0NDQ++2pqYmXn/99T2+xo4dC/xlrs2WLVu4/fbbKZVKey33xhtvAPDCCy/0acsjjzzSW+a1115j8uTJHHLIIaxZs4bzzz+fq666iu9///u9ZeLxOMcddxyJRIInn3ySW2+9lTVr1vDNb36zT33Tpk3j6aef5ic/+Qk///nP6enpYezYsXR2dv63vt/PYvz48QwcOJBrrrmm6nWJiIj8JQW+6AaIiIj8pe23335fdBM+k4ceeohbbrmF22+/nW9/+9t99k2dOpXZs2dzySWXMGXKlD5//P89mjx5MvX19Tz88MNMmTJlt/3Lly8nHA5z2mmnATB8+PC/dhP3aMCAAQwYMODvpp5dnnrqKd56663dnroLBoMcddRRez32r3lt3njjDfr378/xxx//iWWuu+46RowYwb333othGIwdO5aOjg5uvvlm5s2bh23bLFmyhK6uLn7/+9/Tr18/AGpraznllFN49dVXGTVqFK+//jpr1qzh6aefZtKkSQAceeSRDBw4kKVLl3LllVdW/ftdsGABxx9/PJdccglNTU1Vr09EROQvQU88iYjI352PD7UbPHgwixcvZsGCBTQ1NeG6LieccAJvv/12n+NeeuklRo0aheu69OvXjwsuuICenp4+ZVavXs3o0aOpr6/HcRyGDRvW5+mOBx54gEAgwP33309dXR0DBgzgnXfe2WM7r776akaNGrVb6LTL4sWLGTt2LJs3b+7d1tHRwdlnn01jYyOu6zJmzBhee+213v27hh6tWrWKb37zm0QiEerq6pg1axbJZLLP+ZctW8bBBx9MMBikubmZ888/n+7u7t791157LUOHDuWpp55i2LBh2LbNiBEjep8qOfzww3Echy996Us899xzn7svP8qyLGbOnMmaNWt2G95ULpd55JFHmDp1KuFwGNh9ONdLL73E0UcfTTgcprGxkVNPPZX333+/d/+ehn99fNgcfPr1/biPDqP6pGFfhmGwzz779B7z2muvMWHCBPr164dt2+y7775cd911VCoVgN7zXXfddb1f72m41sqVKznyyCOxbZv6+npmzJjBhx9+2Lv/gQcewLZtfvvb33L00Udj2zYDBw7kpptu+sTvZ5fFixdzxhlnEAwGP7Xsx320r3f1yW233caQIUOIRqM8+uijZDIZLrnkEgYMGNDbzz/96U97j9nVX2efffZeh82+8cYbjBgx4hP35/N5Xn75ZaZMmdKn/77xjW+QTCZ59dVXAXj22Wdpa2vrDZ0AJk6ciOM4vff2s88+i+u6TJgwobdMY2MjbW1tu93/e7Jy5UqGDBmCbdscfvjhvPzyy737dt2LL774Yu+12nfffbnjjjv6nOPYY49l33335bbbbvvU+kRERP5WKHgSEZH/FW699Vbefvttli9fztKlS/m3f/s3vvGNb/Tu/5d/+RdOPPFEbNvm5z//Obfffjsvv/wyJ5xwAsViEYAXX3yRU045hZEjR/L444+zcuVKhg4dykUXXcQrr7zSe65yuczixYt54IEHWLx4Mfvvv/9u7fl//+//sWHDBqZNm/aJbW5ubmbNmjV8+ctfBnb+ET1+/Hh++ctfsnjxYp566ikGDhzIcccdx7/927/1OXbOnDnss88+PP3008ydO5f777+f7373u737r776as455xxGjx7N008/zdVXX80TTzzBV7/61T5DvDZt2sTcuXNZuHAhTzzxBKlUim9+85t861vf4pxzzmHVqlU4jsOMGTN6j/ssfbkns2bNIp/P984VtMvzzz/P1q1be4fZfdzGjRs5+eSTOfTQQ3nmmWe46667eOuttzj55JM/sa49+azX95M0NzfvNvzsBz/4AQAXXnghAP/5n//J+PHjqa+v56GHHmLNmjWMGzeOa6+9lhUrVgD0DqmbPXv2Jw6vu++++/jHf/xH9ttvP37xi19w66238tprr/GVr3yFrVu39pYrFoucdtppzJw5k9WrV3PMMcfw3e9+d7c+/qg//elP/N//+397n+r5uFKptNvr0yYBX7RoEfPmzeO+++5j1KhRXHbZZaxatYpbbrmF5557jsmTJ3PxxRfz2GOP0dzczC9+8Yve4/Y2bPaNN96gVCoxduxYXNelf//+LFy4sPc++9Of/kSxWOTAAw/sc9wBBxwA7JzXCeDtt9/erYzf72e//fbrU2a//fYjEAjsdq5dZfZmzpw5zJ07lyeffJJYLMZJJ5202/xQU6dO5dhjj2XVqlVMmDCBSy65hGXLlvUpc9JJJ/H4449/an0iIiJ/MzwREZH/QUaPHu0NGjRor2XOPPPMPmUGDRrkDR482CuVSr3brrjiCg/wduzY4Xme540aNcrbf//9vXw+31tmw4YNnmVZ3ooVKzzP87xbbrnFO+OMM/rU1dXV5QHeLbfc4nme591///0e4N1///17beMvfvELD/Cee+65PtsrlYpXLBb7vMrlsud5nnfPPfd4gPfSSy/1OeaEE07wxo0b19tmwJs5c2afMkcddZR30EEHeZ7neTt27PAsy/LOOeecPmVeeeUVD/DuuOMOz/M875prrtmtjTfffLMHeMuWLevd9s///M8e4P3+97//zH35SQ4//HBvzJgxfbZNnTrVGz58eJ9to0eP9kaPHu15nuc98cQTHuBt3bq1d/9vfvMbb+HChV4ikdit/C4vv/yyB3gvv/yy53mf7fp+/JhdfbQn77//vtfQ0OBNmzatd9uKFSu8E0880atUKr3byuWyV1tb61100UW92wDvmmuu6X3/0XpKpZLXr18/7/jjj+9T3x//+EfPNE1v7ty5nuf917340WuVTCa9QCDgXXzxxXtss+d53s9+9jMP6O27XUaPHu0Be3zdeOONfcrt6utd9+OZZ57Z51wHHXSQd/755/fZdv3113u//OUv+xy3t89Rd3e3B3iDBg3yVqxY4a1fv967+uqrPcuyvOnTp3ue53mvvvqqB3hr167tc2yhUPAA74YbbvA8z/NM0/QWLVq0Wx3HHHOMd8IJJ3ie53nHH3+8d+yxx+5WZuHChZ5lWZ/Yzl3X7tFHH+3dls1mvf79+3unnXaa53n/dV+dd955fY6dPHmy19ra2vszwPP+62fHe++994l1ioiI/C3RHE8iIvK/whFHHIHf7+99v2seqHQ6jeM4vP7661xxxRX4fL7eCY0HDBjAAQccwEsvvcTMmTOZN28esPPJo3feeYf33nuv90mjdDrdp76RI0futT27nsj4+OTJ9957L+ecc06fbWeeeSYPPPAA69ato7W1la9+9at9jjv++ONZuHAh5XK5d9vRRx/d5xz77bdf75C8X//61xQKBb71rW/1KdPW1sagQYN45ZVX+Kd/+qfe7btWkoOdQ4uAPvP87Jp/Kh6Pk8lkPlNffpJZs2Zx8cUX097eTmtrKz09PaxatarPRNAfd9RRRxEOhznssMOYMmUKJ554ImPGjOHII4/8xGP25PNc30+TTCaZNGkSAwYM4N577+3dPnPmTGbOnEmxWOS9997jj3/8I7///e/J5/OfuY63336b7du373b99ttvP4455pjdns766L0QDofp37//Xuv685//TE1NDZFIZLd9zc3NPP3007tt/7T5pz7+eRg/fjx33HEHGzduZOLEiZx44olcddVVez3Hx9m2zYsvvsjQoUN76x89ejSWZbFo0SIWLVrU+yTWrmGMu+wadrdrv+d5u5XZVe7zlPkkpmn2ecLStm1OPvlk1q1b16fcWWed1ef9lClTWLVqFZs2bWLgwIHAf/X1+++/z5AhQ/Zar4iIyN8CDbUTEZH/FVzX7fN+13CZSqVCd3c3lUqFG264AdM0+7z+8z//s3eOpS1btnDqqadSU1PDyJEjWbRoUe9qVh//w7Ompmav7Rk0aBCwc5jYR33961/nd7/7Xe+rubm5d9+OHTtob2/frY3z58+nWCzS0dGx1+931x/Nu+Zx2tPkxE1NTbvNxbSnACIUCvV+/dG5cz5rX36S6dOnY1kWjz76KAD//M//TKVS4YwzzvjEY1pbW/nXf/1Xjj76aJYtW8bJJ59M//79mT9/fp8w7tN8nuu7N5VKhenTp7Nt2zaeeuqpPtcikUgwa9YsamtrOeigg/jOd77DH//4RyzL+sx1fN7rt7d7YU86Ozv3eM1h51xchx9++G6vT5vo+uOfh5tvvpkf/OAHbNy4kW9/+9sceOCBHHbYYfzud7/b63k+yrZtxo8fv1votWuI5b//+78Ti8UAdpvfbFcf7dofi8V2K7Or3Ocp80kaGxt3G6LXr18/tmzZ0mfbP/zDP+xWBqC9vb132666/hor6YmIiPwl6IknERH5Xy8ajWIYBpdeeinTp0/fbf+uP5rPOuss3n33XdasWcOoUaOwbZuOjg7uueeez13nrj/WH3/8cS666KLe7Q0NDX1WsLMsq/frWCzG/vvv32ep+I+qq6v71GAHdq7WBbB161aGDh3aZ9/mzZsZNWrU5/pePuqz9uUnicViTJkyhYcffph58+bx4IMPcsopp3zqqn4jRozg8ccfp1Ao8Otf/5olS5bwwx/+kJEjRzJ9+nT8fj+FQqHPMR8PEf5S13f+/Pk8//zzPP/887tNjD1//nyeeuopHn74YcaOHUskEsHzvE8Mevbko9fv4zZv3vzfXgGxvr5+twne/9JM02TevHnMmzePDz/8kOeee45FixYxc+bMT5yM/+P++Mc/8uKLLzJ16lTq6up6t+dyOWBnOLrvvvsSCAR2O+euOZl2zet0wAEH7FamVCrx/vvv8/Wvf723zOrVqymXy32ennz33Xd3mx/q45LJJJ7n9Qlpt27dutu12rFjB62trX3KAH3K7bpv6+vr91qniIjI3wo98SQiIv/rhcNhRo4cydtvv93nKY6DDz6YxYsX907w/Nprr3Hqqacybtw4bNsGdq5UBbsP5fk0fr+f66+/nldeeYVbb711j2U2btxIIpHofT969Gg+/PBD+vXr16edr7zyCj/5yU8wTfMz1f2Vr3wFy7J2C7B+9atf8eGHH/LVr371c30vH/VZ+3JvZs2axRtvvMG6det49dVXmT179l7LL126lIEDB1IoFLAsi7a2Nu68804Atm3bBuwMa3Z9vcuvfvWrPu//Etf3vvvu48c//jG33HILY8eO3W3/a6+9xtixY5k8eXJv2LR27VrS6XSfOvY2fGvo0KE0Njbudv02bNjA66+//t+6fgD77rsv6XS6auFTsVhk6NCh/PCHPwR2PuVzzjnncNppp/VeI59v56+oe3sKrLOzkwsvvJCf//znfbY/9thjOI7DqFGjcByHr371qzzxxBN9zvXkk08SDod7h5GeeOKJvPLKK33ukeeee45MJsOJJ57YWyabzfLLX/6yt0xHRwe/+tWvest8kmQy2Wf1xHQ6zTPPPLPbPbJq1ao+7x9//HEGDhzYZ0jdrqefdg29ExER+VunJ55EROR/nEQiscflxAcMGNBnHpXP44YbbmDixInMmDGDGTNmUKlUuPXWW/nNb37D4sWLATjssMN46KGHGDlyJP3792f9+vUsXboUx3H6rAT3WZ1zzjl88MEHzJ07l+eff57p06czePBgenp6eOGFF3jggQcwTZNTTjkF2Lm0/J133tk7p9PAgQN56aWXuPHGG1m0aFGfpyn2pqGhgcsvv5zFixdjmiaTJ09m48aNLFq0iOHDh3PmmWd+7u/loz5LX+7Ncccdxz777MNFF13EgAEDOOGEE/ZafvTo0cydO5cpU6Zw4YUX4vP5uPPOO3Fdl4kTJwIwduxYnnzySebNm8fEiRNZv379boHFf/f6vvbaa1xwwQUcddRRHHXUUfz617/us//QQw/lsMMO4/HHH+fuu+9m//3357e//S0/+tGPiEajfeqIxWK8+uqrvPLKK7S1tfU5j9/v58Ybb2TOnDlMmzaNM888k87OTq699loaGxu59NJLP7Wte7Orv1999dXPvTLgZ2GaJkcffTTf+973cByHgw46iLfeeosHH3yQ0047Ddj55BzAunXrGDZsWJ85xXY54ogjOOGEE1iwYAHFYpHhw4fz7LPPcscdd3DTTTf1PgV11VVXMX78eM466yzOPPNM/s//+T/ccccdXHvttTiOA+xcdfCnP/0pp5xyCtdccw09PT1cdtllHH/88Rx77LHAzjnQjjvuOM477zwSiQSNjY1873vfIxqN9q5a+EmCwSAzZszg+9//Pg0NDdx8880UCoXd5rW68cYbMU2Tww47jCeeeII1a9bw2GOP9fls/+Y3v2HQoEG7Pa0oIiLyN+uLmNFcRETk/197W1lr10pae1rV7uOrau1a8WvDhg2921544QVv1KhRnuM4XiwW80488UTvt7/9be/+jRs3el/72te8aDTqRaNRb8qUKd4f/vAHb+zYsb2rXe3pvJ/mX//1X72pU6d6ra2tnmmaXjQa9Y455hjvxhtv7F11b5etW7d6Z511ltfY2OjZtu0NHz68dxU6z/vk1cA+3iee53nLli3zDj74YM80Ta+pqcm7+OKLva6urt79e1qxbU/f38dXevssfflprr/+eg/wrr766j3u//gqdevXr/fGjBnjxWIxLxqNescdd5z36quv9u4vlUrelVde6TU1NXmO43gTJkzwfve73/Vp92e5vntb1W7X15/02rBhg9fZ2enNmDHDq6+v90KhkHfiiSd6r732mjdr1ixv4MCBvauX3XbbbV5tba3nuq735z//eY/XYuXKld5XvvIVLxgMenV1dd7pp5/uffjhh3u9Vp6358/Dxx1++OHehRdeuFuff9qKkrvKfXxVu4/fj5lMxps/f743ePBgz7Ztb5999vEWLlzoZbPZ3jLz58/3wuGwV1tb6xWLxT3WlUgkvAULFniDBw/2LMvyhg8f3mcVv11+8YtfeAcffLBnWZY3cOBA76abbuqzsqDned5//Md/eOPGjfMcx/Hq6uq8OXPmePF4vE+Zrq4u76yzzvJqa2s9x3G8E044wXvrrbf22h/XXHON19ra6v385z/3Bg8e7AWDQW/MmDHeG2+80Vtm1311yy23eIceeqhnWZb3pS99yXv88cd3O9+IESO8+fPn77VOERGRvyWG532O2TJFRERE5O/ek08+yezZs9m8efNuk5PLX9769es57rjjePnllxkzZswnlvvd737H6NGjef/99z91QncREZG/FZrjSURERET6OPXUUxk2bBh33XXXF90U+Yhrr72WefPmKXQSEZH/URQ8iYiIiEgfhmHw4IMP8uMf/5jOzs4vujnCzkno29vbWbRo0RfdFBERkc9FQ+1ERERERERERKQq9MSTiIiIiIiIiIhUhYInERERERERERGpCgVP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Il7aea76YoayD6wsJJwiPj90+zL0i2QIFyBRitGR6kdDsZsIWRw3h8/vESsUMEo7f5fqqtTTlWwlGs7RYULQzEPZI5NtxU15dBT74VSy7AgVaI5twRf0MCrbSaUayZsZoqEijpejEoQdvjIBX5G0FyIQg7APfAmIlItUsjliVoGt2SZ6PI/acBynkiPglulIQMpIEU15WGaRWq8HMwFhE4JZ2BL2sNwCOywImRnsQJnuVD2hWIaQr0L/SBy7HKQpl2Oz5eHmslhuEX9Pmf4126ktpUj7GoiUiphpoOyxNdVEzC7SYUCsnCARKpOxdoYhtekscWpJ2kU6wpAqttLgpNiRa6QrV0d9EsLZFAaQrNQQcMq4rseOYJ54Twv9iwVi2QqJTH/Cdgq/AZtpxVfwiGRTWEEIRVJYPsjYOZKZQlUzjr9V/6ufeBIRERERERERkepR8CQiIiIiIiIiIlWh4ElERERERERERKpCwZOIiIiIiIiIiFSFgicREREREREREakKBU8iIiIiIiIiIlIVCp5ERERERERERKQqFDyJiIiIiIiIiEhVKHgSEREREREREZGqUPAkIiIiIiIiIiJVoeBJRERERERERESqQsGTiIiIiIiIiIhUhYInERERERERERGpCgVPIiIiIiIiIiJSFQqeRERERERERESkKhQ8iYiIiIiIiIhIVSh4EhERERERERGRqlDwJCIiIiIiIiIiVaHgSUREREREREREqkLBk4iIiIiIiIiIVIWCJxERERERERERqQoFTyIiIiIiIiIiUhUKnkREREREREREpCoUPImIiIiIiIiISFUoeBIRERERERERkapQ8CQiIiIiIiIiIlWh4ElERERERERERKpCwZOIiIiIiIiIiFSFgicREREREREREakKBU8iIiIiIiIiIlIVCp5ERERERERERKQqFDyJiIiIiIiIiEhVKHgSEREREREREZGqUPAkIiIiIiIiIiJVoeBJRERERERERESqQsGTiIiIiIiIiIhUhYInERERERERERGpCgVPIiIiIiIiIiJSFQqeRERERERERESkKhQ8iYiIiIiIiIhIVSh4EhERERERERGRqlDwJCIiIiIiIiIiVaHgSUREREREREREqkLBk4iIiIiIiIiIVIWCJxERERERERERqQoFTyIiIiIiIiIiUhUKnkREREREREREpCoUPImIiIiIiIiISFUoeBIRERERERERkapQ8CQiIiIiIiIiIlWh4ElERERERERERKpCwZOIiIiIiIiIiFSFgicREREREREREakKBU8iIiIiIiIiIlIVCp5ERERERERERKQqFDyJiIiIiIiIiEhVKHgSEREREREREZGqUPAkIiIiIiIiIiJVoeBJRERERERERESqQsGTiIiIiIiIiIhUhYInERERERERERGpCgVPIiIiIiIiIiJSFQqeRERERERERESkKhQ8iYiIiIiIiIhIVSh4EhERERERERGRqlDwJCIiIiIiIiIiVaHgSUREREREREREqkLBk4iIiIiIiIiIVIWCJxERERERERERqQoFTyIiIiIiIiIiUhUKnkREREREREREpCoUPImIiIiIiIiISFUoeBIRERERERERkapQ8CQiIiIiIiIiIlWh4ElERERERERERKpCwZOIiIiIiIiIiFSFgicREREREREREakKBU8iIiIiIiIiIlIVCp5ERERERERERKQqFDyJiIiIiIiIiEhVKHgSEREREREREZGqUPAkIiIiIiIiIiJVoeBJRERERERERESqQsGTiIiIiIiIiIhUhYInERERERERERGpCgVPIiIiIiIiIiJSFQqeRERERERERESkKhQ8iYiIiIiIiIhIVSh4EhERERERERGRqlDwJCIiIiIiIiIiVaHgSUREREREREREqkLBk4iIiIiIiIiIVIWCJxERERERERERqQoFTyIiIiIiIiIiUhUKnkREREREREREpCoUPImIiIiIiIiISFUoeBIRERERERERkapQ8CQiIiIiIiIiIlWh4ElERERERERERKpCwZOIiIiIiIiIiFSFgicREREREREREakKBU8iIiIiIiIiIlIVCp5ERERERERERKQqFDyJiIiIiIiIiEhVKHgSEREREREREZGqUPAkIiIiIiIiIiJVoeBJRERERERERESqQsGTiIiIiIiIiIhUhYInERERERERERGpCgVPIiIiIiIiIiJSFQqeRERERERERESkKhQ8iYiIiIiIiIhIVSh4EhERERERERGRqlDwJCIiIiIiIiIiVaHgSUREREREREREqkLBk4iIiIiIiIiIVIWCJxERERERERERqQoFTyIiIiIiIiIiUhUKnkREREREREREpCoUPImIiIiIiIiISFUoeBIRERERERERkapQ8CQiIiIi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",
      "text/plain": [
       "<Figure size 1500x200 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "colors = {'A': 'red', 'C': 'blue', 'G': 'green', 'T': 'orange'}\n",
    "\n",
    "plt.figure(figsize=(15, 2))\n",
    "for i, base in enumerate(dna_seq):\n",
    "    plt.plot([i, i], [0, 1], color=colors.get(base, 'gray'), linewidth=0.5)\n",
    "    \n",
    "plt.title(\"Linear Genome Visualization (First 5000 bp)\")\n",
    "plt.axis('off')\n",
    "plt.show()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3.10.6",
   "language": "python",
   "name": "python3.10"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.10.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
